package com.gopay.remote.solution.vo;

import com.gopay.common.constants.trans.TranSpCustType;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 交易基础方案明细
 * 
 * @TranBasicDtlInfo.java
 * @author MA HUAN
 * @2013-4-17 下午3:23:49 www.gopay.com.cn Inc.All rights reserved.
 */
public class TranBasicDtlInfo extends SolutionDtlInfo {
    
    /**
     * 
     */
    private static final long serialVersionUID = -7298332327950708355L;

    /**
     * 内部交易码
     */
    private String gopayIntTxnCd;
    /**
     * 是否开通
     */
    private int isEnable;
    /**
     * 手续费承担方
     */
    private String feePayer;
    /**
     * 结算周期
     */
    private int settleCirCle;
    /**
     * 是否退还手续费
     */
    private int isRefundFee;
    
    /**
     * 合法收益账号
     */
    private String legalIncomeAcct;
    
    /**
     * 允许的付款客户的类型， 00-不允许， 01-仅个人，02-仅企业， 03-均允许
     */
    private TranSpCustType tranSpCustType;
    
    /**
     * 银行卡退款期限
     */
    private int refundPeriod;
    
    /**
     * 是否是优化T+1结算
     */
    private Integer isOptimizingSettle;
    
    /**
     * add by qld 20160704 跨境最低限额
     */
    private BigDecimal minLimitAmt;



    /**
     * add by qld 20170724 跨境进口分账比例
     */
    private BigDecimal cbrmbImportSplit;



    /**
     * add by qld 20171025 外卡支付保证金
     */
    private BigDecimal wkDepositScale;

    /**
     * 是否开通短信通知 add by jianghoup 20160920
     */
    private Integer isMobileNotify;

    private Integer endRefundPeriod;
    /**
     * 商户入驻缴纳保证金金额  add by jianglijun
     */
    private BigDecimal depositAmt;
    private Integer isOverTimeRefund;

    private Integer endRefundPeriodBegin;

    private Date createdTs;
    
    /**
     * 结算周期类型 00- T+N 第n个交易日结算;01- D+N 每日结算
     */
    private String settlementType;
    
    /**
     * 结算操作类型 01 手工，02 实时，03 自动
     */
    private String settlementOperationType;

    public BigDecimal getMinLimitAmt() {
		return minLimitAmt;
	}

	public void setMinLimitAmt(BigDecimal minLimitAmt) {
		this.minLimitAmt = minLimitAmt;
	}
    public BigDecimal getCbrmbImportSplit() {
        return cbrmbImportSplit;
    }

    public void setCbrmbImportSplit(BigDecimal cbrmbImportSplit) {
        this.cbrmbImportSplit = cbrmbImportSplit;
    }

    public String getGopayIntTxnCd() {
        return gopayIntTxnCd;
    }

    public void setGopayIntTxnCd(String gopayIntTxnCd) {
        this.gopayIntTxnCd = gopayIntTxnCd;
    }

    public int getIsEnable() {
        return isEnable;
    }

    public void setIsEnable(int isEnable) {
        this.isEnable = isEnable;
    }

    public String getFeePayer() {
        return feePayer;
    }

    public void setFeePayer(String feePayer) {
        this.feePayer = feePayer;
    }

    public int getSettleCirCle() {
        return settleCirCle;
    }

    public void setSettleCirCle(int settleCirCle) {
        this.settleCirCle = settleCirCle;
    }

    public int getIsRefundFee() {
        return isRefundFee;
    }

    public void setIsRefundFee(int isRefundFee) {
        this.isRefundFee = isRefundFee;
    }

    public String getLegalIncomeAcct() {
        return legalIncomeAcct;
    }

    public void setLegalIncomeAcct(String legalIncomeAcct) {
        this.legalIncomeAcct = legalIncomeAcct;
    }

	public TranSpCustType getTranSpCustType() {
		return tranSpCustType;
	}

	public void setTranSpCustType(TranSpCustType tranSpCustType) {
		this.tranSpCustType = tranSpCustType;
	}

    public int getRefundPeriod() {
        return refundPeriod;
    }

    public void setRefundPeriod(int refundPeriod) {
        this.refundPeriod = refundPeriod;
    }

	public Integer getIsOptimizingSettle() {
		return isOptimizingSettle;
	}

	public void setIsOptimizingSettle(Integer isOptimizingSettle) {
		this.isOptimizingSettle = isOptimizingSettle;
	}

    public Integer getIsMobileNotify() {
        return isMobileNotify;
    }

    public void setIsMobileNotify(Integer isMobileNotify) {
        this.isMobileNotify = isMobileNotify;
    }

    public Integer getEndRefundPeriod() {
        return endRefundPeriod;
    }

    public void setEndRefundPeriod(Integer endRefundPeriod) {
        this.endRefundPeriod = endRefundPeriod;
    }

    public Integer getIsOverTimeRefund() {
        return isOverTimeRefund;
    }

    public void setIsOverTimeRefund(Integer isOverTimeRefund) {
        this.isOverTimeRefund = isOverTimeRefund;
    }

    public Integer getEndRefundPeriodBegin() {
        return endRefundPeriodBegin;
    }

    public void setEndRefundPeriodBegin(Integer endRefundPeriodBegin) {
        this.endRefundPeriodBegin = endRefundPeriodBegin;
    }

    public BigDecimal getDepositAmt() {
        return depositAmt;
    }

    public void setDepositAmt(BigDecimal depositAmt) {
        this.depositAmt = depositAmt;
    }

    public Date getCreatedTs() {
        return createdTs;
    }

    public void setCreatedTs(Date createdTs) {
        this.createdTs = createdTs;
    }

	public String getSettlementType() {
		return settlementType;
	}

	public void setSettlementType(String settlementType) {
		this.settlementType = settlementType;
	}

	public String getSettlementOperationType() {
		return settlementOperationType;
	}

	public void setSettlementOperationType(String settlementOperationType) {
		this.settlementOperationType = settlementOperationType;
	}

    public BigDecimal getWkDepositScale() {
        return wkDepositScale;
    }

    public void setWkDepositScale(BigDecimal wkDepositScale) {
        this.wkDepositScale = wkDepositScale;
    }
}
